package spaceSurvivor;

import spaceSurvivor.powerUp.AmmoPowerUp;
import spaceSurvivor.powerUp.BigBulletPowerUp;
import spaceSurvivor.powerUp.PowerUp;
import spaceSurvivor.powerUp.ShieldPowerUp;
import spaceSurvivor.ship.EnemyShip;
import spaceSurvivor.ship.enemies.AvoiderEnemy;
import spaceSurvivor.ship.enemies.BlobEnemy;
import spaceSurvivor.ship.enemies.BuilderEnemy;
import spaceSurvivor.ship.enemies.ConfusedEnemy;
import spaceSurvivor.ship.enemies.DefaultEnemy;
import spaceSurvivor.ship.enemies.SeekerEnemy;
import spaceSurvivor.ship.enemies.SplitEnemy;

public class LevelCreator {
	public static final int LEVEL1 = 1;
	public static final int LEVEL2 = 2;
	public static final int LEVEL3 = 3;
	public static final int LEVEL4 = 4;
	public static final int LEVEL5 = 5;
	public static final int LEVEL6 = 6;
	
	private LevelCreator() {
		
	}
	
	public static Level loadLevel(int levelNumber){
		Level level = new Level();
		level.setLevelNumber(levelNumber);
		
		int numEnemyShips;
		int numPowerUps;
		
		int ammo;	//	how many bullets to start with
		int shield;	//	 how much shield to start with
		
		EnemyShip[] enemyShips;
		int[] shipEntranceTimes;	//	times are how long into level
		PowerUp[] powerUps;
		int[] powerUpStartTimes;	//	times are how long into level
		int[] powerUpStopTimes;	//	times are how long into level
		
		switch(levelNumber){
			case LEVEL1:
				numEnemyShips = 10;
				numPowerUps = 12;
				
				ammo = 10;
				shield = 80;
				
				enemyShips = new EnemyShip[numEnemyShips];
				shipEntranceTimes = new int[numEnemyShips];
				powerUps = new PowerUp[numPowerUps];
				powerUpStartTimes = new int[numPowerUps];
				powerUpStopTimes = new int[numPowerUps];
				
				level.setLevelTime(30);
				
				enemyShips[0] = new AvoiderEnemy();
				enemyShips[1] = new DefaultEnemy();
				enemyShips[2] = new DefaultEnemy();
                enemyShips[3] = new DefaultEnemy();
				enemyShips[4] = new AvoiderEnemy();
				enemyShips[5] = new ConfusedEnemy();
				enemyShips[6] = new SeekerEnemy();
                enemyShips[7] = new AvoiderEnemy();
				enemyShips[8] = new ConfusedEnemy();
				enemyShips[9] = new AvoiderEnemy();
				
				shipEntranceTimes[0] = 1;
				shipEntranceTimes[1] = 5;
				shipEntranceTimes[2] = 8;
				shipEntranceTimes[3] = 10;
				shipEntranceTimes[4] = 12;
				shipEntranceTimes[5] = 16;
				shipEntranceTimes[6] = 20;
				shipEntranceTimes[7] = 21;
				shipEntranceTimes[8] = 23;
				shipEntranceTimes[9] = 24;
				
				
				powerUps[0] = new AmmoPowerUp();
				powerUps[1] = new AmmoPowerUp();
				powerUps[2] = new ShieldPowerUp();
				powerUps[3] = new AmmoPowerUp();
				powerUps[4] = new ShieldPowerUp();
				powerUps[5] = new ShieldPowerUp();
				powerUps[6] = new AmmoPowerUp();
				powerUps[7] = new AmmoPowerUp();
				powerUps[8] = new ShieldPowerUp();
				powerUps[9] = new AmmoPowerUp();
				powerUps[10] = new AmmoPowerUp();
				powerUps[11] = new ShieldPowerUp();
				
				powerUpStartTimes[0] = 6;
				powerUpStopTimes[0] = 15;
				powerUpStartTimes[1] = 4;
				powerUpStopTimes[1] = 19;
				powerUpStartTimes[2] = 12;
				powerUpStopTimes[2] = 18;
				powerUpStartTimes[3] = 26;
				powerUpStopTimes[3] = 35;
				powerUpStartTimes[4] = 29;
				powerUpStopTimes[4] = 36;
				powerUpStartTimes[5] = 36;
				powerUpStopTimes[5] = 47;
				powerUpStartTimes[6] = 6;
				powerUpStopTimes[6] = 15;
				powerUpStartTimes[7] = 10;
				powerUpStopTimes[7] = 19;
				powerUpStartTimes[8] = 22;
				powerUpStopTimes[8] = 38;
				powerUpStartTimes[9] = 26;
				powerUpStopTimes[9] = 35;
				powerUpStartTimes[10] = 29;
				powerUpStopTimes[10] = 41;
				powerUpStartTimes[11] = 32;
				powerUpStopTimes[11] = 42;
				
				break;
			case LEVEL2:
				numEnemyShips = 25;
				numPowerUps = 12;

				ammo = 30;
				shield = 60;
				
				enemyShips = new EnemyShip[numEnemyShips];
				shipEntranceTimes = new int[numEnemyShips];
				powerUps = new PowerUp[numPowerUps];
				powerUpStartTimes = new int[numPowerUps];
				powerUpStopTimes = new int[numPowerUps];

				level.setLevelTime(60);

				enemyShips[0] = new DefaultEnemy();
				enemyShips[1] = new ConfusedEnemy();
				enemyShips[2] = new SeekerEnemy();
                enemyShips[3] = new SplitEnemy();
				enemyShips[4] = new SplitEnemy();
				enemyShips[5] = new SplitEnemy();
				enemyShips[6] = new SplitEnemy();
                enemyShips[7] = new SplitEnemy();
				enemyShips[8] = new SplitEnemy();
				enemyShips[9] = new SplitEnemy();
				enemyShips[10] = new SplitEnemy();
				enemyShips[11] = new SeekerEnemy();
				enemyShips[12] = new SeekerEnemy();
				enemyShips[13] = new SeekerEnemy();
				enemyShips[14] = new SeekerEnemy();
				enemyShips[15] = new DefaultEnemy();
				enemyShips[16] = new ConfusedEnemy();
				enemyShips[17] = new SeekerEnemy();
				enemyShips[18] = new DefaultEnemy();
				enemyShips[19] = new ConfusedEnemy();
				enemyShips[20] = new SeekerEnemy();
				enemyShips[21] = new SeekerEnemy();
				enemyShips[22] = new SeekerEnemy();
				enemyShips[23] = new SeekerEnemy();
				enemyShips[24] = new SeekerEnemy();

				shipEntranceTimes[0] = 1;
				shipEntranceTimes[1] = 3;
				shipEntranceTimes[2] = 5;
				shipEntranceTimes[3] = 9;
				shipEntranceTimes[4] = 13;
				shipEntranceTimes[5] = 18;
				shipEntranceTimes[6] = 20;
				shipEntranceTimes[7] = 21;
				shipEntranceTimes[8] = 23;
				shipEntranceTimes[9] = 24;
				shipEntranceTimes[10] = 25;
				shipEntranceTimes[11] = 28;
				shipEntranceTimes[12] = 30;
				shipEntranceTimes[13] = 35;
				shipEntranceTimes[14] = 36;
				shipEntranceTimes[15] = 39;
				shipEntranceTimes[16] = 40;
				shipEntranceTimes[17] = 48;
				shipEntranceTimes[18] = 49;
				shipEntranceTimes[19] = 30;
				shipEntranceTimes[20] = 30;
				shipEntranceTimes[21] = 30;
				shipEntranceTimes[22] = 30;
				shipEntranceTimes[23] = 30;
				shipEntranceTimes[24] = 30;

				powerUps[0] = new AmmoPowerUp();
				powerUps[1] = new AmmoPowerUp();
				powerUps[2] = new ShieldPowerUp();
				powerUps[3] = new AmmoPowerUp();
				powerUps[4] = new ShieldPowerUp();
				powerUps[5] = new ShieldPowerUp();
				powerUps[6] = new AmmoPowerUp();
				powerUps[7] = new AmmoPowerUp();
				powerUps[8] = new ShieldPowerUp();
				powerUps[9] = new AmmoPowerUp();
				powerUps[10] = new AmmoPowerUp();
				powerUps[11] = new ShieldPowerUp();

				powerUpStartTimes[0] = 6;
				powerUpStopTimes[0] = 15;
				powerUpStartTimes[1] = 10;
				powerUpStopTimes[1] = 19;
				powerUpStartTimes[2] = 12;
				powerUpStopTimes[2] = 18;
				powerUpStartTimes[3] = 26;
				powerUpStopTimes[3] = 35;
				powerUpStartTimes[4] = 29;
				powerUpStopTimes[4] = 36;
				powerUpStartTimes[5] = 36;
				powerUpStopTimes[5] = 47;
				powerUpStartTimes[6] = 6;
				powerUpStopTimes[6] = 15;
				powerUpStartTimes[7] = 10;
				powerUpStopTimes[7] = 19;
				powerUpStartTimes[8] = 22;
				powerUpStopTimes[8] = 38;
				powerUpStartTimes[9] = 26;
				powerUpStopTimes[9] = 35;
				powerUpStartTimes[10] = 29;
				powerUpStopTimes[10] = 41;
				powerUpStartTimes[11] = 32;
				powerUpStopTimes[11] = 42;

				break;
			case LEVEL3:
				numEnemyShips = 50;
				numPowerUps = 15;
				
				ammo = 40;
				shield = 50;
				
				enemyShips = new EnemyShip[numEnemyShips];
				shipEntranceTimes = new int[numEnemyShips];
				powerUps = new PowerUp[numPowerUps];
				powerUpStartTimes = new int[numPowerUps];
				powerUpStopTimes = new int[numPowerUps];
				
				level.setLevelTime(90);
				
				enemyShips[0] = new DefaultEnemy();
				enemyShips[1] = new SplitEnemy();
				enemyShips[2] = new SeekerEnemy();
				enemyShips[3] = new BlobEnemy();
				enemyShips[4] = new SplitEnemy();
				enemyShips[5] = new SeekerEnemy();
				enemyShips[6] = new DefaultEnemy();
				enemyShips[7] = new BlobEnemy();
				enemyShips[8] = new SplitEnemy();
				enemyShips[9] = new SeekerEnemy();
				enemyShips[10] = new BlobEnemy();
				enemyShips[11] = new BlobEnemy();
				enemyShips[12] = new DefaultEnemy();
				enemyShips[13] = new ConfusedEnemy();
				enemyShips[14] = new SeekerEnemy();
				enemyShips[15] = new DefaultEnemy();
				enemyShips[16] = new ConfusedEnemy();
				enemyShips[17] = new SplitEnemy();
				enemyShips[18] = new DefaultEnemy();
				enemyShips[19] = new ConfusedEnemy();
				enemyShips[20] = new ConfusedEnemy();
				enemyShips[21] = new SeekerEnemy();
				enemyShips[22] = new DefaultEnemy();
				enemyShips[23] = new BlobEnemy();
				enemyShips[24] = new SeekerEnemy();
				enemyShips[25] = new DefaultEnemy();
				enemyShips[26] = new ConfusedEnemy();
				enemyShips[27] = new SplitEnemy();
				enemyShips[28] = new DefaultEnemy();
				enemyShips[29] = new ConfusedEnemy();
				enemyShips[30] = new SplitEnemy();
				enemyShips[31] = new BlobEnemy();
				enemyShips[32] = new SplitEnemy();
				enemyShips[33] = new ConfusedEnemy();
				enemyShips[34] = new SeekerEnemy();
				enemyShips[35] = new ConfusedEnemy();
				enemyShips[36] = new SeekerEnemy();
				enemyShips[37] = new ConfusedEnemy();
				enemyShips[38] = new SeekerEnemy();
				enemyShips[39] = new DefaultEnemy();
				enemyShips[40] = new BlobEnemy();
				enemyShips[41] = new ConfusedEnemy();
				enemyShips[42] = new DefaultEnemy();
				enemyShips[43] = new DefaultEnemy();
				enemyShips[44] = new ConfusedEnemy();
				enemyShips[45] = new ConfusedEnemy();
				enemyShips[46] = new SeekerEnemy();
				enemyShips[47] = new SeekerEnemy();
				enemyShips[48] = new SeekerEnemy();
				enemyShips[49] = new SeekerEnemy();
				
				shipEntranceTimes[0] = 1;
				shipEntranceTimes[1] = 3;
				shipEntranceTimes[2] = 5;
				shipEntranceTimes[3] = 9;
				shipEntranceTimes[4] = 13;
				shipEntranceTimes[5] = 18;
				shipEntranceTimes[6] = 20;
				shipEntranceTimes[7] = 21;
				shipEntranceTimes[8] = 23;
				shipEntranceTimes[9] = 24;
				shipEntranceTimes[10] = 25;
				shipEntranceTimes[11] = 26;
				shipEntranceTimes[12] = 27;
				shipEntranceTimes[13] = 28;
				shipEntranceTimes[14] = 29;
				shipEntranceTimes[15] = 30;
				shipEntranceTimes[16] = 35;
				shipEntranceTimes[17] = 36;
				shipEntranceTimes[18] = 37;
				shipEntranceTimes[19] = 38;
				shipEntranceTimes[20] = 39;
				shipEntranceTimes[21] = 40;
				shipEntranceTimes[22] = 41;
				shipEntranceTimes[23] = 42;
				shipEntranceTimes[24] = 43;
				shipEntranceTimes[25] = 44;
				shipEntranceTimes[26] = 45;
				shipEntranceTimes[27] = 46;
				shipEntranceTimes[28] = 48;
				shipEntranceTimes[29] = 50;
				shipEntranceTimes[30] = 46;
				shipEntranceTimes[31] = 30;
				shipEntranceTimes[32] = 31;
				shipEntranceTimes[33] = 32;
				shipEntranceTimes[34] = 33;
				shipEntranceTimes[35] = 34;
				shipEntranceTimes[36] = 35;
				shipEntranceTimes[37] = 36;
				shipEntranceTimes[38] = 37;
				shipEntranceTimes[39] = 38;
				shipEntranceTimes[40] = 39;
				shipEntranceTimes[41] = 40;
				shipEntranceTimes[42] = 41;
				shipEntranceTimes[43] = 42;
				shipEntranceTimes[44] = 43;
				shipEntranceTimes[45] = 44;
				shipEntranceTimes[46] = 45;
				shipEntranceTimes[47] = 46;
				shipEntranceTimes[48] = 47;
				shipEntranceTimes[49] = 48;
				
				powerUps[0] = new AmmoPowerUp();
				powerUps[1] = new AmmoPowerUp();
				powerUps[2] = new ShieldPowerUp();
				powerUps[3] = new AmmoPowerUp();
				powerUps[4] = new ShieldPowerUp();
				powerUps[5] = new ShieldPowerUp();
				powerUps[6] = new BigBulletPowerUp();
				powerUps[7] = new AmmoPowerUp();
				powerUps[8] = new ShieldPowerUp();
				powerUps[9] = new AmmoPowerUp();
				powerUps[10] = new AmmoPowerUp();
				powerUps[11] = new ShieldPowerUp();
				powerUps[12] = new AmmoPowerUp();
				powerUps[13] = new AmmoPowerUp();
				powerUps[14] = new ShieldPowerUp();
				
				powerUpStartTimes[0] = 6;
				powerUpStopTimes[0] = 15;
				powerUpStartTimes[1] = 10;
				powerUpStopTimes[1] = 19;
				powerUpStartTimes[2] = 12;
				powerUpStopTimes[2] = 18;
				powerUpStartTimes[3] = 26;
				powerUpStopTimes[3] = 35;
				powerUpStartTimes[4] = 29;
				powerUpStopTimes[4] = 36;
				powerUpStartTimes[5] = 36;
				powerUpStopTimes[5] = 47;
				powerUpStartTimes[6] = 6;
				powerUpStopTimes[6] = 15;
				powerUpStartTimes[7] = 10;
				powerUpStopTimes[7] = 19;
				powerUpStartTimes[8] = 12;
				powerUpStopTimes[8] = 18;
				powerUpStartTimes[9] = 5;
				powerUpStopTimes[9] = 25;
				powerUpStartTimes[10] = 7;
				powerUpStopTimes[10] = 27;
				powerUpStartTimes[11] = 9;
				powerUpStopTimes[11] = 29;
				powerUpStartTimes[12] = 11;
				powerUpStopTimes[12] = 31;
				powerUpStartTimes[13] = 13;
				powerUpStopTimes[13] = 33;
				powerUpStartTimes[14] = 15;
				powerUpStopTimes[14] = 35;
				
				break;
			case LEVEL4:
				numEnemyShips = 50;
				numPowerUps = 20;
				
				ammo = 60;
				shield = 40;
				
				enemyShips = new EnemyShip[numEnemyShips];
				shipEntranceTimes = new int[numEnemyShips];
				powerUps = new PowerUp[numPowerUps];
				powerUpStartTimes = new int[numPowerUps];
				powerUpStopTimes = new int[numPowerUps];
				
				level.setLevelTime(120);
				
				enemyShips[0] = new BuilderEnemy();
				enemyShips[1] = new SplitEnemy();
				enemyShips[2] = new SeekerEnemy();
				enemyShips[3] = new BlobEnemy();
				enemyShips[4] = new SplitEnemy();
				enemyShips[5] = new BuilderEnemy();
				enemyShips[6] = new DefaultEnemy();
				enemyShips[7] = new BlobEnemy();
				enemyShips[8] = new SplitEnemy();
				enemyShips[9] = new SeekerEnemy();
				enemyShips[10] = new BlobEnemy();
				enemyShips[11] = new BlobEnemy();
				enemyShips[12] = new DefaultEnemy();
				enemyShips[13] = new ConfusedEnemy();
				enemyShips[14] = new BuilderEnemy();
				enemyShips[15] = new BuilderEnemy();
				enemyShips[16] = new ConfusedEnemy();
				enemyShips[17] = new SplitEnemy();
				enemyShips[18] = new DefaultEnemy();
				enemyShips[19] = new ConfusedEnemy();
				enemyShips[20] = new ConfusedEnemy();
				enemyShips[21] = new BuilderEnemy();
				enemyShips[22] = new DefaultEnemy();
				enemyShips[23] = new BlobEnemy();
				enemyShips[24] = new SeekerEnemy();
				enemyShips[25] = new DefaultEnemy();
				enemyShips[26] = new ConfusedEnemy();
				enemyShips[27] = new SplitEnemy();
				enemyShips[28] = new DefaultEnemy();
				enemyShips[29] = new ConfusedEnemy();
				enemyShips[30] = new SplitEnemy();
				enemyShips[31] = new BlobEnemy();
				enemyShips[32] = new SplitEnemy();
				enemyShips[33] = new BuilderEnemy();
				enemyShips[34] = new SeekerEnemy();
				enemyShips[35] = new ConfusedEnemy();
				enemyShips[36] = new SeekerEnemy();
				enemyShips[37] = new BuilderEnemy();
				enemyShips[38] = new SeekerEnemy();
				enemyShips[39] = new DefaultEnemy();
				enemyShips[40] = new BlobEnemy();
				enemyShips[41] = new ConfusedEnemy();
				enemyShips[42] = new DefaultEnemy();
				enemyShips[43] = new DefaultEnemy();
				enemyShips[44] = new ConfusedEnemy();
				enemyShips[45] = new ConfusedEnemy();
				enemyShips[46] = new SeekerEnemy();
				enemyShips[47] = new BuilderEnemy();
				enemyShips[48] = new SeekerEnemy();
				enemyShips[49] = new SeekerEnemy();
				
				shipEntranceTimes[0] = 1;
				shipEntranceTimes[1] = 3;
				shipEntranceTimes[2] = 5;
				shipEntranceTimes[3] = 9;
				shipEntranceTimes[4] = 13;
				shipEntranceTimes[5] = 18;
				shipEntranceTimes[6] = 20;
				shipEntranceTimes[7] = 21;
				shipEntranceTimes[8] = 23;
				shipEntranceTimes[9] = 24;
				shipEntranceTimes[10] = 25;
				shipEntranceTimes[11] = 26;
				shipEntranceTimes[12] = 27;
				shipEntranceTimes[13] = 28;
				shipEntranceTimes[14] = 29;
				shipEntranceTimes[15] = 30;
				shipEntranceTimes[16] = 35;
				shipEntranceTimes[17] = 36;
				shipEntranceTimes[18] = 37;
				shipEntranceTimes[19] = 38;
				shipEntranceTimes[20] = 39;
				shipEntranceTimes[21] = 40;
				shipEntranceTimes[22] = 41;
				shipEntranceTimes[23] = 42;
				shipEntranceTimes[24] = 43;
				shipEntranceTimes[25] = 44;
				shipEntranceTimes[26] = 45;
				shipEntranceTimes[27] = 46;
				shipEntranceTimes[28] = 48;
				shipEntranceTimes[29] = 50;
				shipEntranceTimes[30] = 46;
				shipEntranceTimes[31] = 30;
				shipEntranceTimes[32] = 31;
				shipEntranceTimes[33] = 32;
				shipEntranceTimes[34] = 33;
				shipEntranceTimes[35] = 34;
				shipEntranceTimes[36] = 35;
				shipEntranceTimes[37] = 36;
				shipEntranceTimes[38] = 37;
				shipEntranceTimes[39] = 38;
				shipEntranceTimes[40] = 39;
				shipEntranceTimes[41] = 40;
				shipEntranceTimes[42] = 41;
				shipEntranceTimes[43] = 42;
				shipEntranceTimes[44] = 43;
				shipEntranceTimes[45] = 44;
				shipEntranceTimes[46] = 45;
				shipEntranceTimes[47] = 46;
				shipEntranceTimes[48] = 47;
				shipEntranceTimes[49] = 48;
				
				powerUps[0] = new AmmoPowerUp();
				powerUps[1] = new AmmoPowerUp();
				powerUps[2] = new ShieldPowerUp();
				powerUps[3] = new AmmoPowerUp();
				powerUps[4] = new ShieldPowerUp();
				powerUps[5] = new ShieldPowerUp();
				powerUps[6] = new AmmoPowerUp();
				powerUps[7] = new ShieldPowerUp();
				powerUps[8] = new ShieldPowerUp();
				powerUps[9] = new AmmoPowerUp();
				powerUps[10] = new AmmoPowerUp();
				powerUps[11] = new ShieldPowerUp();
				powerUps[12] = new AmmoPowerUp();
				powerUps[13] = new AmmoPowerUp();
				powerUps[14] = new ShieldPowerUp();
				powerUps[15] = new BigBulletPowerUp();
				powerUps[16] = new ShieldPowerUp();
				powerUps[17] = new AmmoPowerUp();
				powerUps[18] = new AmmoPowerUp();
				powerUps[19] = new ShieldPowerUp();
				
				powerUpStartTimes[0] = 6;
				powerUpStopTimes[0] = 15;
				powerUpStartTimes[1] = 10;
				powerUpStopTimes[1] = 19;
				powerUpStartTimes[2] = 12;
				powerUpStopTimes[2] = 18;
				powerUpStartTimes[3] = 26;
				powerUpStopTimes[3] = 35;
				powerUpStartTimes[4] = 29;
				powerUpStopTimes[4] = 36;
				powerUpStartTimes[5] = 36;
				powerUpStopTimes[5] = 47;
				powerUpStartTimes[6] = 6;
				powerUpStopTimes[6] = 15;
				powerUpStartTimes[7] = 10;
				powerUpStopTimes[7] = 19;
				powerUpStartTimes[8] = 12;
				powerUpStopTimes[8] = 18;
				powerUpStartTimes[9] = 5;
				powerUpStopTimes[9] = 25;
				powerUpStartTimes[10] = 7;
				powerUpStopTimes[10] = 27;
				powerUpStartTimes[11] = 9;
				powerUpStopTimes[11] = 29;
				powerUpStartTimes[12] = 11;
				powerUpStopTimes[12] = 31;
				powerUpStartTimes[13] = 13;
				powerUpStopTimes[13] = 33;
				powerUpStartTimes[14] = 15;
				powerUpStopTimes[14] = 35;
				powerUpStartTimes[15] = 50;
				powerUpStopTimes[15] = 68;
				powerUpStartTimes[16] = 55;
				powerUpStopTimes[16] = 75;
				powerUpStartTimes[17] = 60;
				powerUpStopTimes[17] = 80;
				powerUpStartTimes[18] = 61;
				powerUpStopTimes[18] = 81;
				powerUpStartTimes[19] = 63;
				powerUpStopTimes[19] = 83;
				
				break;
			case LEVEL5:
				numEnemyShips = 70;
				numPowerUps = 30;
				
				ammo = 60;
				shield = 40;
				
				enemyShips = new EnemyShip[numEnemyShips];
				shipEntranceTimes = new int[numEnemyShips];
				powerUps = new PowerUp[numPowerUps];
				powerUpStartTimes = new int[numPowerUps];
				powerUpStopTimes = new int[numPowerUps];
				
				level.setLevelTime(150);
				
				enemyShips[0] = new BuilderEnemy();
				enemyShips[1] = new SplitEnemy();
				enemyShips[2] = new SeekerEnemy();
				enemyShips[3] = new BlobEnemy();
				enemyShips[4] = new SplitEnemy();
				enemyShips[5] = new BuilderEnemy();
				enemyShips[6] = new DefaultEnemy();
				enemyShips[7] = new BlobEnemy();
				enemyShips[8] = new SplitEnemy();
				enemyShips[9] = new SeekerEnemy();
				enemyShips[10] = new BlobEnemy();
				enemyShips[11] = new BlobEnemy();
				enemyShips[12] = new DefaultEnemy();
				enemyShips[13] = new ConfusedEnemy();
				enemyShips[14] = new BuilderEnemy();
				enemyShips[15] = new BuilderEnemy();
				enemyShips[16] = new ConfusedEnemy();
				enemyShips[17] = new SplitEnemy();
				enemyShips[18] = new DefaultEnemy();
				enemyShips[19] = new ConfusedEnemy();
				enemyShips[20] = new ConfusedEnemy();
				enemyShips[21] = new BuilderEnemy();
				enemyShips[22] = new DefaultEnemy();
				enemyShips[23] = new BlobEnemy();
				enemyShips[24] = new SeekerEnemy();
				enemyShips[25] = new DefaultEnemy();
				enemyShips[26] = new ConfusedEnemy();
				enemyShips[27] = new SplitEnemy();
				enemyShips[28] = new DefaultEnemy();
				enemyShips[29] = new ConfusedEnemy();
				enemyShips[30] = new SplitEnemy();
				enemyShips[31] = new BlobEnemy();
				enemyShips[32] = new SplitEnemy();
				enemyShips[33] = new BuilderEnemy();
				enemyShips[34] = new SeekerEnemy();
				enemyShips[35] = new ConfusedEnemy();
				enemyShips[36] = new SeekerEnemy();
				enemyShips[37] = new BuilderEnemy();
				enemyShips[38] = new SeekerEnemy();
				enemyShips[39] = new DefaultEnemy();
				enemyShips[40] = new BlobEnemy();
				enemyShips[41] = new ConfusedEnemy();
				enemyShips[42] = new DefaultEnemy();
				enemyShips[43] = new DefaultEnemy();
				enemyShips[44] = new ConfusedEnemy();
				enemyShips[45] = new ConfusedEnemy();
				enemyShips[46] = new SeekerEnemy();
				enemyShips[47] = new BuilderEnemy();
				enemyShips[48] = new SeekerEnemy();
				enemyShips[49] = new SeekerEnemy();
				enemyShips[50] = new SplitEnemy();
				enemyShips[51] = new BlobEnemy();
				enemyShips[52] = new SplitEnemy();
				enemyShips[53] = new BuilderEnemy();
				enemyShips[54] = new SeekerEnemy();
				enemyShips[55] = new ConfusedEnemy();
				enemyShips[56] = new SeekerEnemy();
				enemyShips[57] = new BuilderEnemy();
				enemyShips[58] = new SeekerEnemy();
				enemyShips[59] = new DefaultEnemy();
				enemyShips[60] = new BlobEnemy();
				enemyShips[61] = new ConfusedEnemy();
				enemyShips[62] = new DefaultEnemy();
				enemyShips[63] = new DefaultEnemy();
				enemyShips[64] = new ConfusedEnemy();
				enemyShips[65] = new ConfusedEnemy();
				enemyShips[66] = new SeekerEnemy();
				enemyShips[67] = new BuilderEnemy();
				enemyShips[68] = new SeekerEnemy();
				enemyShips[69] = new SeekerEnemy();
				
				shipEntranceTimes[0] = 1;
				shipEntranceTimes[1] = 3;
				shipEntranceTimes[2] = 5;
				shipEntranceTimes[3] = 9;
				shipEntranceTimes[4] = 13;
				shipEntranceTimes[5] = 18;
				shipEntranceTimes[6] = 20;
				shipEntranceTimes[7] = 21;
				shipEntranceTimes[8] = 23;
				shipEntranceTimes[9] = 24;
				shipEntranceTimes[10] = 25;
				shipEntranceTimes[11] = 26;
				shipEntranceTimes[12] = 27;
				shipEntranceTimes[13] = 28;
				shipEntranceTimes[14] = 29;
				shipEntranceTimes[15] = 30;
				shipEntranceTimes[16] = 35;
				shipEntranceTimes[17] = 36;
				shipEntranceTimes[18] = 37;
				shipEntranceTimes[19] = 38;
				shipEntranceTimes[20] = 39;
				shipEntranceTimes[21] = 40;
				shipEntranceTimes[22] = 41;
				shipEntranceTimes[23] = 42;
				shipEntranceTimes[24] = 43;
				shipEntranceTimes[25] = 44;
				shipEntranceTimes[26] = 45;
				shipEntranceTimes[27] = 46;
				shipEntranceTimes[28] = 48;
				shipEntranceTimes[29] = 50;
				shipEntranceTimes[30] = 46;
				shipEntranceTimes[31] = 30;
				shipEntranceTimes[32] = 31;
				shipEntranceTimes[33] = 32;
				shipEntranceTimes[34] = 33;
				shipEntranceTimes[35] = 34;
				shipEntranceTimes[36] = 35;
				shipEntranceTimes[37] = 36;
				shipEntranceTimes[38] = 37;
				shipEntranceTimes[39] = 38;
				shipEntranceTimes[40] = 39;
				shipEntranceTimes[41] = 40;
				shipEntranceTimes[42] = 41;
				shipEntranceTimes[43] = 42;
				shipEntranceTimes[44] = 43;
				shipEntranceTimes[45] = 44;
				shipEntranceTimes[46] = 45;
				shipEntranceTimes[47] = 46;
				shipEntranceTimes[48] = 47;
				shipEntranceTimes[49] = 48;
				shipEntranceTimes[50] = 46;
				shipEntranceTimes[51] = 30;
				shipEntranceTimes[52] = 31;
				shipEntranceTimes[53] = 32;
				shipEntranceTimes[54] = 33;
				shipEntranceTimes[55] = 34;
				shipEntranceTimes[56] = 35;
				shipEntranceTimes[57] = 36;
				shipEntranceTimes[58] = 37;
				shipEntranceTimes[59] = 38;
				shipEntranceTimes[60] = 39;
				shipEntranceTimes[61] = 40;
				shipEntranceTimes[62] = 41;
				shipEntranceTimes[63] = 42;
				shipEntranceTimes[64] = 43;
				shipEntranceTimes[65] = 44;
				shipEntranceTimes[66] = 45;
				shipEntranceTimes[67] = 46;
				shipEntranceTimes[68] = 47;
				shipEntranceTimes[69] = 48;
				
				powerUps[0] = new AmmoPowerUp();
				powerUps[1] = new AmmoPowerUp();
				powerUps[2] = new ShieldPowerUp();
				powerUps[3] = new AmmoPowerUp();
				powerUps[4] = new ShieldPowerUp();
				powerUps[5] = new ShieldPowerUp();
				powerUps[6] = new AmmoPowerUp();
				powerUps[7] = new ShieldPowerUp();
				powerUps[8] = new ShieldPowerUp();
				powerUps[9] = new AmmoPowerUp();
				powerUps[10] = new AmmoPowerUp();
				powerUps[11] = new ShieldPowerUp();
				powerUps[12] = new AmmoPowerUp();
				powerUps[13] = new AmmoPowerUp();
				powerUps[14] = new ShieldPowerUp();
				powerUps[15] = new BigBulletPowerUp();
				powerUps[16] = new ShieldPowerUp();
				powerUps[17] = new AmmoPowerUp();
				powerUps[18] = new AmmoPowerUp();
				powerUps[19] = new ShieldPowerUp();
				powerUps[20] = new AmmoPowerUp();
				powerUps[21] = new ShieldPowerUp();
				powerUps[22] = new AmmoPowerUp();
				powerUps[23] = new AmmoPowerUp();
				powerUps[24] = new ShieldPowerUp();
				powerUps[25] = new BigBulletPowerUp();
				powerUps[26] = new ShieldPowerUp();
				powerUps[27] = new AmmoPowerUp();
				powerUps[28] = new AmmoPowerUp();
				powerUps[29] = new ShieldPowerUp();
				
				powerUpStartTimes[0] = 6;
				powerUpStopTimes[0] = 15;
				powerUpStartTimes[1] = 10;
				powerUpStopTimes[1] = 19;
				powerUpStartTimes[2] = 12;
				powerUpStopTimes[2] = 18;
				powerUpStartTimes[3] = 26;
				powerUpStopTimes[3] = 35;
				powerUpStartTimes[4] = 29;
				powerUpStopTimes[4] = 36;
				powerUpStartTimes[5] = 36;
				powerUpStopTimes[5] = 47;
				powerUpStartTimes[6] = 6;
				powerUpStopTimes[6] = 15;
				powerUpStartTimes[7] = 10;
				powerUpStopTimes[7] = 19;
				powerUpStartTimes[8] = 12;
				powerUpStopTimes[8] = 18;
				powerUpStartTimes[9] = 5;
				powerUpStopTimes[9] = 25;
				powerUpStartTimes[10] = 7;
				powerUpStopTimes[10] = 27;
				powerUpStartTimes[11] = 9;
				powerUpStopTimes[11] = 29;
				powerUpStartTimes[12] = 11;
				powerUpStopTimes[12] = 31;
				powerUpStartTimes[13] = 13;
				powerUpStopTimes[13] = 33;
				powerUpStartTimes[14] = 15;
				powerUpStopTimes[14] = 35;
				powerUpStartTimes[15] = 50;
				powerUpStopTimes[15] = 68;
				powerUpStartTimes[16] = 55;
				powerUpStopTimes[16] = 75;
				powerUpStartTimes[17] = 60;
				powerUpStopTimes[17] = 80;
				powerUpStartTimes[18] = 61;
				powerUpStopTimes[18] = 81;
				powerUpStartTimes[19] = 63;
				powerUpStopTimes[19] = 83;
				powerUpStartTimes[20] = 70;
				powerUpStopTimes[20] = 80;
				powerUpStartTimes[21] = 75;
				powerUpStopTimes[21] = 85;
				powerUpStartTimes[22] = 80;
				powerUpStopTimes[22] = 90;
				powerUpStartTimes[23] = 85;
				powerUpStopTimes[23] = 95;
				powerUpStartTimes[24] = 90;
				powerUpStopTimes[24] = 100;
				powerUpStartTimes[25] = 95;
				powerUpStopTimes[25] = 105;
				powerUpStartTimes[26] = 100;
				powerUpStopTimes[26] = 105;
				powerUpStartTimes[27] = 110;
				powerUpStopTimes[27] = 120;
				powerUpStartTimes[28] = 115;
				powerUpStopTimes[28] = 130;
				powerUpStartTimes[29] = 125;
				powerUpStopTimes[29] = 145;
				
				break;
			case LEVEL6:
				numEnemyShips = 100;
				numPowerUps = 30;
				
				ammo = 60;
				shield = 40;
				
				enemyShips = new EnemyShip[numEnemyShips];
				shipEntranceTimes = new int[numEnemyShips];
				powerUps = new PowerUp[numPowerUps];
				powerUpStartTimes = new int[numPowerUps];
				powerUpStopTimes = new int[numPowerUps];
				
				level.setLevelTime(180);
				
				enemyShips[0] = new BuilderEnemy();
				enemyShips[1] = new SplitEnemy();
				enemyShips[2] = new SeekerEnemy();
				enemyShips[3] = new BlobEnemy();
				enemyShips[4] = new SplitEnemy();
				enemyShips[5] = new BuilderEnemy();
				enemyShips[6] = new DefaultEnemy();
				enemyShips[7] = new BlobEnemy();
				enemyShips[8] = new SplitEnemy();
				enemyShips[9] = new SeekerEnemy();
				enemyShips[10] = new BlobEnemy();
				enemyShips[11] = new BlobEnemy();
				enemyShips[12] = new DefaultEnemy();
				enemyShips[13] = new ConfusedEnemy();
				enemyShips[14] = new BuilderEnemy();
				enemyShips[15] = new BuilderEnemy();
				enemyShips[16] = new ConfusedEnemy();
				enemyShips[17] = new SplitEnemy();
				enemyShips[18] = new DefaultEnemy();
				enemyShips[19] = new ConfusedEnemy();
				enemyShips[20] = new ConfusedEnemy();
				enemyShips[21] = new BuilderEnemy();
				enemyShips[22] = new DefaultEnemy();
				enemyShips[23] = new BlobEnemy();
				enemyShips[24] = new SeekerEnemy();
				enemyShips[25] = new DefaultEnemy();
				enemyShips[26] = new ConfusedEnemy();
				enemyShips[27] = new SplitEnemy();
				enemyShips[28] = new DefaultEnemy();
				enemyShips[29] = new ConfusedEnemy();
				enemyShips[30] = new SplitEnemy();
				enemyShips[31] = new BlobEnemy();
				enemyShips[32] = new SplitEnemy();
				enemyShips[33] = new BuilderEnemy();
				enemyShips[34] = new SeekerEnemy();
				enemyShips[35] = new ConfusedEnemy();
				enemyShips[36] = new SeekerEnemy();
				enemyShips[37] = new BuilderEnemy();
				enemyShips[38] = new SeekerEnemy();
				enemyShips[39] = new DefaultEnemy();
				enemyShips[40] = new BlobEnemy();
				enemyShips[41] = new ConfusedEnemy();
				enemyShips[42] = new DefaultEnemy();
				enemyShips[43] = new DefaultEnemy();
				enemyShips[44] = new ConfusedEnemy();
				enemyShips[45] = new ConfusedEnemy();
				enemyShips[46] = new SeekerEnemy();
				enemyShips[47] = new BuilderEnemy();
				enemyShips[48] = new SeekerEnemy();
				enemyShips[49] = new SeekerEnemy();
				enemyShips[50] = new SplitEnemy();
				enemyShips[51] = new BlobEnemy();
				enemyShips[52] = new SplitEnemy();
				enemyShips[53] = new BuilderEnemy();
				enemyShips[54] = new SeekerEnemy();
				enemyShips[55] = new ConfusedEnemy();
				enemyShips[56] = new SeekerEnemy();
				enemyShips[57] = new BuilderEnemy();
				enemyShips[58] = new SeekerEnemy();
				enemyShips[59] = new DefaultEnemy();
				enemyShips[60] = new BlobEnemy();
				enemyShips[61] = new ConfusedEnemy();
				enemyShips[62] = new DefaultEnemy();
				enemyShips[63] = new DefaultEnemy();
				enemyShips[64] = new ConfusedEnemy();
				enemyShips[65] = new ConfusedEnemy();
				enemyShips[66] = new SeekerEnemy();
				enemyShips[67] = new BuilderEnemy();
				enemyShips[68] = new SeekerEnemy();
				enemyShips[69] = new SeekerEnemy();
				enemyShips[70] = new SplitEnemy();
				enemyShips[71] = new BlobEnemy();
				enemyShips[72] = new SplitEnemy();
				enemyShips[73] = new BuilderEnemy();
				enemyShips[74] = new SeekerEnemy();
				enemyShips[75] = new ConfusedEnemy();
				enemyShips[76] = new SeekerEnemy();
				enemyShips[77] = new BuilderEnemy();
				enemyShips[78] = new SeekerEnemy();
				enemyShips[79] = new DefaultEnemy();
				enemyShips[80] = new BlobEnemy();
				enemyShips[81] = new ConfusedEnemy();
				enemyShips[82] = new DefaultEnemy();
				enemyShips[83] = new DefaultEnemy();
				enemyShips[84] = new ConfusedEnemy();
				enemyShips[85] = new ConfusedEnemy();
				enemyShips[86] = new SeekerEnemy();
				enemyShips[87] = new BuilderEnemy();
				enemyShips[88] = new SeekerEnemy();
				enemyShips[89] = new SeekerEnemy();
				enemyShips[90] = new SplitEnemy();
				enemyShips[91] = new BlobEnemy();
				enemyShips[92] = new SplitEnemy();
				enemyShips[93] = new BuilderEnemy();
				enemyShips[94] = new SeekerEnemy();
				enemyShips[95] = new ConfusedEnemy();
				enemyShips[96] = new SeekerEnemy();
				enemyShips[97] = new BuilderEnemy();
				enemyShips[98] = new SeekerEnemy();
				enemyShips[99] = new DefaultEnemy();
				
				shipEntranceTimes[0] = 1;
				shipEntranceTimes[1] = 3;
				shipEntranceTimes[2] = 5;
				shipEntranceTimes[3] = 9;
				shipEntranceTimes[4] = 13;
				shipEntranceTimes[5] = 18;
				shipEntranceTimes[6] = 20;
				shipEntranceTimes[7] = 21;
				shipEntranceTimes[8] = 23;
				shipEntranceTimes[9] = 24;
				shipEntranceTimes[10] = 25;
				shipEntranceTimes[11] = 26;
				shipEntranceTimes[12] = 27;
				shipEntranceTimes[13] = 28;
				shipEntranceTimes[14] = 29;
				shipEntranceTimes[15] = 30;
				shipEntranceTimes[16] = 35;
				shipEntranceTimes[17] = 36;
				shipEntranceTimes[18] = 37;
				shipEntranceTimes[19] = 38;
				shipEntranceTimes[20] = 39;
				shipEntranceTimes[21] = 40;
				shipEntranceTimes[22] = 41;
				shipEntranceTimes[23] = 42;
				shipEntranceTimes[24] = 43;
				shipEntranceTimes[25] = 44;
				shipEntranceTimes[26] = 45;
				shipEntranceTimes[27] = 46;
				shipEntranceTimes[28] = 48;
				shipEntranceTimes[29] = 50;
				shipEntranceTimes[30] = 46;
				shipEntranceTimes[31] = 30;
				shipEntranceTimes[32] = 31;
				shipEntranceTimes[33] = 32;
				shipEntranceTimes[34] = 33;
				shipEntranceTimes[35] = 34;
				shipEntranceTimes[36] = 35;
				shipEntranceTimes[37] = 36;
				shipEntranceTimes[38] = 37;
				shipEntranceTimes[39] = 38;
				shipEntranceTimes[40] = 39;
				shipEntranceTimes[41] = 40;
				shipEntranceTimes[42] = 41;
				shipEntranceTimes[43] = 42;
				shipEntranceTimes[44] = 43;
				shipEntranceTimes[45] = 44;
				shipEntranceTimes[46] = 45;
				shipEntranceTimes[47] = 46;
				shipEntranceTimes[48] = 47;
				shipEntranceTimes[49] = 48;
				shipEntranceTimes[50] = 46;
				shipEntranceTimes[51] = 30;
				shipEntranceTimes[52] = 31;
				shipEntranceTimes[53] = 32;
				shipEntranceTimes[54] = 33;
				shipEntranceTimes[55] = 34;
				shipEntranceTimes[56] = 35;
				shipEntranceTimes[57] = 36;
				shipEntranceTimes[58] = 37;
				shipEntranceTimes[59] = 38;
				shipEntranceTimes[60] = 39;
				shipEntranceTimes[61] = 40;
				shipEntranceTimes[62] = 41;
				shipEntranceTimes[63] = 42;
				shipEntranceTimes[64] = 43;
				shipEntranceTimes[65] = 44;
				shipEntranceTimes[66] = 45;
				shipEntranceTimes[67] = 46;
				shipEntranceTimes[68] = 47;
				shipEntranceTimes[69] = 48;
				shipEntranceTimes[70] = 60;
				shipEntranceTimes[71] = 61;
				shipEntranceTimes[72] = 62;
				shipEntranceTimes[73] = 63;
				shipEntranceTimes[74] = 64;
				shipEntranceTimes[75] = 75;
				shipEntranceTimes[76] = 76;
				shipEntranceTimes[77] = 77;
				shipEntranceTimes[78] = 85;
				shipEntranceTimes[79] = 90;
				shipEntranceTimes[80] = 92;
				shipEntranceTimes[81] = 94;
				shipEntranceTimes[82] = 96;
				shipEntranceTimes[83] = 98;
				shipEntranceTimes[84] = 98;
				shipEntranceTimes[85] = 98;
				shipEntranceTimes[86] = 99;
				shipEntranceTimes[87] = 99;
				shipEntranceTimes[88] = 110;
				shipEntranceTimes[89] = 115;
				shipEntranceTimes[90] = 120;
				shipEntranceTimes[91] = 125;
				shipEntranceTimes[92] = 130;
				shipEntranceTimes[93] = 135;
				shipEntranceTimes[94] = 140;
				shipEntranceTimes[95] = 145;
				shipEntranceTimes[96] = 150;
				shipEntranceTimes[97] = 155;
				shipEntranceTimes[98] = 160;
				shipEntranceTimes[99] = 165;
				
				powerUps[0] = new AmmoPowerUp();
				powerUps[1] = new AmmoPowerUp();
				powerUps[2] = new ShieldPowerUp();
				powerUps[3] = new AmmoPowerUp();
				powerUps[4] = new ShieldPowerUp();
				powerUps[5] = new ShieldPowerUp();
				powerUps[6] = new AmmoPowerUp();
				powerUps[7] = new ShieldPowerUp();
				powerUps[8] = new ShieldPowerUp();
				powerUps[9] = new AmmoPowerUp();
				powerUps[10] = new AmmoPowerUp();
				powerUps[11] = new ShieldPowerUp();
				powerUps[12] = new AmmoPowerUp();
				powerUps[13] = new AmmoPowerUp();
				powerUps[14] = new ShieldPowerUp();
				powerUps[15] = new BigBulletPowerUp();
				powerUps[16] = new ShieldPowerUp();
				powerUps[17] = new AmmoPowerUp();
				powerUps[18] = new AmmoPowerUp();
				powerUps[19] = new ShieldPowerUp();
				powerUps[20] = new AmmoPowerUp();
				powerUps[21] = new ShieldPowerUp();
				powerUps[22] = new AmmoPowerUp();
				powerUps[23] = new AmmoPowerUp();
				powerUps[24] = new ShieldPowerUp();
				powerUps[25] = new BigBulletPowerUp();
				powerUps[26] = new ShieldPowerUp();
				powerUps[27] = new AmmoPowerUp();
				powerUps[28] = new AmmoPowerUp();
				powerUps[29] = new ShieldPowerUp();
				
				powerUpStartTimes[0] = 6;
				powerUpStopTimes[0] = 15;
				powerUpStartTimes[1] = 10;
				powerUpStopTimes[1] = 19;
				powerUpStartTimes[2] = 12;
				powerUpStopTimes[2] = 18;
				powerUpStartTimes[3] = 26;
				powerUpStopTimes[3] = 35;
				powerUpStartTimes[4] = 29;
				powerUpStopTimes[4] = 36;
				powerUpStartTimes[5] = 36;
				powerUpStopTimes[5] = 47;
				powerUpStartTimes[6] = 6;
				powerUpStopTimes[6] = 15;
				powerUpStartTimes[7] = 10;
				powerUpStopTimes[7] = 19;
				powerUpStartTimes[8] = 12;
				powerUpStopTimes[8] = 18;
				powerUpStartTimes[9] = 5;
				powerUpStopTimes[9] = 25;
				powerUpStartTimes[10] = 7;
				powerUpStopTimes[10] = 27;
				powerUpStartTimes[11] = 9;
				powerUpStopTimes[11] = 29;
				powerUpStartTimes[12] = 11;
				powerUpStopTimes[12] = 31;
				powerUpStartTimes[13] = 13;
				powerUpStopTimes[13] = 33;
				powerUpStartTimes[14] = 15;
				powerUpStopTimes[14] = 35;
				powerUpStartTimes[15] = 50;
				powerUpStopTimes[15] = 68;
				powerUpStartTimes[16] = 55;
				powerUpStopTimes[16] = 75;
				powerUpStartTimes[17] = 60;
				powerUpStopTimes[17] = 80;
				powerUpStartTimes[18] = 61;
				powerUpStopTimes[18] = 81;
				powerUpStartTimes[19] = 63;
				powerUpStopTimes[19] = 83;
				powerUpStartTimes[20] = 70;
				powerUpStopTimes[20] = 80;
				powerUpStartTimes[21] = 75;
				powerUpStopTimes[21] = 85;
				powerUpStartTimes[22] = 80;
				powerUpStopTimes[22] = 90;
				powerUpStartTimes[23] = 85;
				powerUpStopTimes[23] = 95;
				powerUpStartTimes[24] = 90;
				powerUpStopTimes[24] = 100;
				powerUpStartTimes[25] = 95;
				powerUpStopTimes[25] = 105;
				powerUpStartTimes[26] = 100;
				powerUpStopTimes[26] = 105;
				powerUpStartTimes[27] = 110;
				powerUpStopTimes[27] = 120;
				powerUpStartTimes[28] = 115;
				powerUpStopTimes[28] = 130;
				powerUpStartTimes[29] = 125;
				powerUpStopTimes[29] = 145;
				
				break;
			default:
				numEnemyShips = 20;
				numPowerUps = 15;
				
				ammo = 50;
				shield = 40;
				
				enemyShips = new EnemyShip[numEnemyShips];
				shipEntranceTimes = new int[numEnemyShips];
				powerUps = new PowerUp[numPowerUps];
				powerUpStartTimes = new int[numPowerUps];
				powerUpStopTimes = new int[numPowerUps];
				
				level.setLevelTime(45);
				
				enemyShips[0] = new DefaultEnemy();
				enemyShips[1] = new ConfusedEnemy();
				enemyShips[2] = new SeekerEnemy();
				enemyShips[3] = new DefaultEnemy();
				enemyShips[4] = new ConfusedEnemy();
				enemyShips[5] = new SeekerEnemy();
				enemyShips[6] = new DefaultEnemy();
				enemyShips[7] = new ConfusedEnemy();
				enemyShips[8] = new SeekerEnemy();
				enemyShips[9] = new DefaultEnemy();
				enemyShips[10] = new ConfusedEnemy();
				enemyShips[11] = new SeekerEnemy();
				enemyShips[12] = new DefaultEnemy();
				enemyShips[13] = new ConfusedEnemy();
				enemyShips[14] = new SeekerEnemy();
				enemyShips[15] = new DefaultEnemy();
				enemyShips[16] = new ConfusedEnemy();
				enemyShips[17] = new SeekerEnemy();
				enemyShips[18] = new DefaultEnemy();
				enemyShips[19] = new ConfusedEnemy();
				
				shipEntranceTimes[0] = 1;
				shipEntranceTimes[1] = 3;
				shipEntranceTimes[2] = 5;
				shipEntranceTimes[3] = 9;
				shipEntranceTimes[4] = 13;
				shipEntranceTimes[5] = 18;
				shipEntranceTimes[6] = 20;
				shipEntranceTimes[7] = 21;
				shipEntranceTimes[8] = 23;
				shipEntranceTimes[9] = 24;
				shipEntranceTimes[10] = 25;
				shipEntranceTimes[11] = 28;
				shipEntranceTimes[12] = 30;
				shipEntranceTimes[13] = 35;
				shipEntranceTimes[14] = 36;
				shipEntranceTimes[15] = 39;
				shipEntranceTimes[16] = 40;
				shipEntranceTimes[17] = 48;
				shipEntranceTimes[18] = 49;
				shipEntranceTimes[19] = 50;
				
				powerUps[0] = new AmmoPowerUp();
				powerUps[1] = new AmmoPowerUp();
				powerUps[2] = new ShieldPowerUp();
				powerUps[3] = new AmmoPowerUp();
				powerUps[4] = new ShieldPowerUp();
				powerUps[5] = new ShieldPowerUp();
				powerUps[6] = new AmmoPowerUp();
				powerUps[7] = new AmmoPowerUp();
				powerUps[8] = new ShieldPowerUp();
				powerUps[9] = new AmmoPowerUp();
				powerUps[10] = new AmmoPowerUp();
				powerUps[11] = new ShieldPowerUp();
				powerUps[12] = new AmmoPowerUp();
				powerUps[13] = new AmmoPowerUp();
				powerUps[14] = new ShieldPowerUp();
				
				powerUpStartTimes[0] = 6;
				powerUpStopTimes[0] = 15;
				powerUpStartTimes[1] = 10;
				powerUpStopTimes[1] = 19;
				powerUpStartTimes[2] = 12;
				powerUpStopTimes[2] = 18;
				powerUpStartTimes[3] = 26;
				powerUpStopTimes[3] = 35;
				powerUpStartTimes[4] = 29;
				powerUpStopTimes[4] = 36;
				powerUpStartTimes[5] = 36;
				powerUpStopTimes[5] = 47;
				powerUpStartTimes[6] = 6;
				powerUpStopTimes[6] = 15;
				powerUpStartTimes[7] = 10;
				powerUpStopTimes[7] = 19;
				powerUpStartTimes[8] = 12;
				powerUpStopTimes[8] = 18;
				powerUpStartTimes[9] = 5;
				powerUpStopTimes[9] = 25;
				powerUpStartTimes[10] = 7;
				powerUpStopTimes[10] = 27;
				powerUpStartTimes[11] = 9;
				powerUpStopTimes[11] = 29;
				powerUpStartTimes[12] = 11;
				powerUpStopTimes[12] = 31;
				powerUpStartTimes[13] = 13;
				powerUpStopTimes[13] = 33;
				powerUpStartTimes[14] = 15;
				powerUpStopTimes[14] = 35;
				
				break;
		}
		
		level.setEnemyShips(enemyShips);
		level.setShipEntranceTimes(shipEntranceTimes);
		level.setPowerUps(powerUps);
		level.setPowerUpStartTimes(powerUpStartTimes);
		level.setPowerUpStopTimes(powerUpStopTimes);
		level.setAmmo(ammo);
		level.setShield(shield);
		
		return level;
	}
}